FPA-FL: Incorporating Static Fault-proneness Analysis into Statistical Fault Localization
نویسندگان
چکیده
Despite the proven applicability of the statistical methods in automatic fault localization, these approaches are biased by data collected from different executions of the program. This biasness could result in unstable statistical models which may vary dependent on test data provided for trial executions of the program. To resolve the difficulty, in this article a new ‘fault-proneness’-aware statistical approach based on Elastic-Net regression, namely FPA-FL is proposed. The main idea behind FPA-FL is to consider the static structure and the fault-proneness of the program statements in addition to their dynamic correlations with the program termination state. The grouping effect of FPA-FL is helpful for finding multiple faults and supporting scalability. To provide the context of failure, causeeffect chains of program faults are discovered. FPA-FL is evaluated from different viewpoints on well-known test suites. The results reveal high fault localization performance of our approach, compared with similar techniques in the literature.
منابع مشابه
FPA-Debug: Effective Statistical Fault Localization Considering Fault-proneness Analysis
The aim is to identify faulty predicates which have strong effect on program failure. Statistical debugging techniques are amongst best methods for pinpointing defects within the program source code. However, they have some drawbacks. They require a large number of executions to identify faults, they might be adversely affected by coincidental correctness, and they do not take into consideratio...
متن کاملA Hybrid Fault-Proneness Detection Approach Using Text Filtering and Static Code Analysis
We have proposed a fault-prone software module detection method using text-filtering approach, called Fault-proneness filtering. Even though the fault-proneness filtering achieved high accuracy in detecting fault-prone modules, the detail of each fault cannot be specified enough. We thus try to complete such weakness of the fault-proneness filtering by using static code analysis. To do so, we a...
متن کاملEvaluation of Fault Proneness of Modules in Open Source Software Systems Using k-NN Clustering
Fault-proneness of a software module is the probability that the module contains faults. A correlation exists between the fault-proneness of the software and the measurable attributes of the code (i.e. the static metrics) and of the testing (i.e. the dynamic metrics). Early detection of fault-prone software components enables verification experts to concentrate their time and resources on the p...
متن کاملEvaluation of Classifiers in Software Fault-Proneness Prediction
Reliability of software counts on its fault-prone modules. This means that the less software consists of fault-prone units the more we may trust it. Therefore, if we are able to predict the number of fault-prone modules of software, it will be possible to judge the software reliability. In predicting software fault-prone modules, one of the contributing features is software metric by which one ...
متن کاملContext-Aware Fault Localization via Control Flow Analysis
Coverage-based fault localization techniques are effective to support program debugging. However, these techniques assess the suspiciousness of program entities individually. Such calculation oversimplifies executions and cannot reflect execution contexts. In this paper, we use control flow paths to analyze the execution context, quantify edge profiles to assess how each block contributes to fa...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Systems and Software
دوره 136 شماره
صفحات -
تاریخ انتشار 2018